package cn.itcast.listener;

import cn.itcast.common.utils.MailUtil;
import com.alibaba.fastjson.JSON;
import org.springframework.amqp.core.Message;
import org.springframework.amqp.core.MessageListener;

import java.util.Map;

/**
 * 消费者自定义消息监听器（消费者）
 *      实现MessageListener接口
 *      当监听器获取到最新消息的时候，自动的执行onMessage方法
 *      onMessage方法：业务逻辑方法
 */
public class EmailListener implements MessageListener {

	/**
	 * Message ： 消息对象
	 *      ： body  （消息数据：byte数组）
	 * 业务逻辑方法：
	 *      获取到消息数据（map -- to，subject，content）
	 *      发送邮件
	 */
	public void onMessage(Message message) {
		byte[] bytes = message.getBody();
		Map map = JSON.parseObject(bytes, Map.class);
		String to = (String )map.get("to");
		String subject = (String )map.get("subject");
		String content = (String )map.get("content");
		System.out.println("to:"+to+",subject:"+subject+",content:"+content);
		//发送邮件
		try {
			MailUtil.sendMsg(to,subject,content);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}
